Tang Nano 9Kで確保可能なブロックRAMのサイズ
先日作成したCPUをTang Nano 9Kで動かしてみたい。ひとまずブロックRAMのサイズを確認した。
ブロックRAMの個数とサイズ
ブロックSRAM(BSRAM)1つのサイズ
18,432ビット(18Kビット = 2Kバイト)
GW1NR-9(TangNano9K)のBSRAMの個数
26個
2Kバイト * 26 = 52Kバイト
先日作成したレイトレーサーが200Kバイトほどなので、収まらなそう。ローダーが必要になるね...
レイトレーサーのサイズ確認方法
readelf コマンドでバイナリのサイズを確認した。
TEXTセクション
0x85e4 = 34Kバイト
DATAセクション
0xa8 = 0.168Kバイト
code:sh
$ riscv64-unknown-elf-readelf -a firmware/firmware.elf
...
Section Headers:
Nr Name Type Addr Off Size ES Flg Lk Inf Al 0 NULL 00000000 000000 000000 00 0 0 0 1 .text PROGBITS 00000000 001000 0085e4 00 AX 0 0 16 2 .data PROGBITS 000085e4 0095e4 0000a8 00 WA 0 0 4 3 .riscv.attributes RISCV_ATTRIBUTE 00000000 00968c 000028 00 0 0 1 4 .shstrtab STRTAB 00000000 0096b4 000029 00 0 0 1 Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
L (link order), O (extra OS processing required), G (group), T (TLS),
C (compressed), x (unknown), o (OS specific), E (exclude),
D (mbind), p (processor specific)
...
参考
GW1NR series of FPGA Products / Data Sheet
Gowin BSRAM & SSRAM User Guide